1. Industrial Field
The present invention relates to improvements in numerical controllers, particularly as to the input format and control schema of a numerical controller which controls machine tools, robots, lasers, welding machines, wood working machines, etc.
More particularly, the present invention represents both a refinement and redefinition of the control language which has traditionally been employed in numerical controller in the recent years. The new control language retains as much of the original standard language as possible, but expands the functionality of the previous standard primarily through the addition of subwords which may be specific to a particular group of machine elements which will be controlled, or to a particular dimension, for example. Through the expanded control language and the implementing hardware and software described herein, the functionality of the traditional numerical controller is dramatically increased, making it unnecessary to provide plural numerical controllers for complex machining centers as was routinely done in the past.
2. Prior Art
With respect to the tape input format used for numerically controlled machine tools, there are two commonly employed standards. The JIS B6312--"Punched Tape Variable Block Format for Numerically Controlled Machine Tools (for Control of Positioning and Straight-Cutting)", and the JIS B6313--"Punched Tape Format for Numerically Controlled Machine Tools (for Contouring Control and Contouring/Positioning Control)" are these two well known standards. "JIS" is an abbreviation for "Japanese Industrial Standard"
As provided for in the JIS standards, all of the alphabetic characters with the exception of capital letters O, H, and L are used to define particular functions, prescribed generally as follows:
(1) Linear dimension words: X, Y, Z, U, V, W, P, Q, R PA0 (2) Interpolation parameters: I, J, K PA0 (3) Angular dimensions: A, B, C, D, E PA0 (4) Feed function: F (D and E were sometimes also used for this function if not needed as angular dimension words) PA0 (5) Preparatory function: G PA0 (6) Miscellaneous function: M PA0 (7) Sequence number: N PA0 (8) Spindle-speed function: S PA0 (9) Tool function: T PA0 O--program number PA0 H--offset PA0 L--number of repetitions
The convention provided by the JIS standards yields the following definitional or functional ranges: for the linear coordinate systems; 9 axes (XYZ, UVW, PQR); for rotary coordinate systems; 5 axes (A, B, C, D, E); feed speed function, 1 variable (F); main spindle; one main spindle head; tools, one main spindle head tool; preparatory function, 1 variable (G); and sequence number, (N). As noted, O, H, L are not set by standard, though in practice they are used by manufacturers to represent various parameters, e.g., as follows:
In the years since these standards were created, the machines and equipment that are to be controlled have become increasingly complex and multi-functional, outstripping the capabilities of the present control language and standards For example, machining centers now in use commonly employ more than 9 axes along which linear movement can be specified The present industry standards have substantial drawbacks in that special measures have to be taken to allow the existing conventions to be used with the more complex machines.
A description will be given of such drawbacks by referring to, for example, FIGS. 20(a), 20(b) and 20(c).
FIGS. 20(a) and 20(b) illustrate a complex machining center FIG. 20(c) is a schematic diagram of a control system for controlling this complex machining center.
The complex machining center comprises a front column 1, a rear column 2, and a work table 3. The front column 1 requires nine control axes, while the rear column 2 requires eight control axes. These are described below with the pertinent control axis specified in parentheses. First, in the front column 1 there is a column traveling section 11 (X-axis); a column traversing section 12 (R-axis); a front head vertical movement section 13 (Y-axis); a front head ram traversing section 14 (W-axis); a front head quill traversing section 15 (Z-axis); a front head tilting head 16 (A-axis, B'-axis); a swiveling section 18 (C-axis) for the front head vertical unit 17; and a main spindle swivel shaft 19 (D-axis).
The rear column's eight control axes include a column traveling section 21 (X'-axis); a side head vertical movement section 24 (Y'-axis); a side head ram traversing section 22 (W'-axis); a side head quill traversing section 23 (Z'-axis); a main spindle swiveling section 103 (C'-axis); a cantilever beam vertical movement section 25 (Q-axis); a beam upper head traversing section 26 (W"-axis); and a beam head quill vertical movement section 27 (V-axis).
The work table 3 itself requires two control axes including a slide section 31 (P-axis) and a swiveling table section 32 (B-axis) on a bed section 33.
If the necessary control axes for this machine are compiled, it will be seen that 13 linear control axes are required, including X, Y, Z, R, W, X', Y+, Z', W', Q, V, W", and P, while the angular dimensions that must be specified require six control axes including A, B, B', C, C' and D.
Main spindles are provided at three locations; i.e., there are provided a front column spindle (first main spindle) 100, a rear column side head spindle (second main spindle) 102, and a rear column beam head spindle (third main spindle) 103. A first sub-main spindle 101 placed at the tip of the first main spindle is included with the first main spindle 100.
Furthermore, in this system there are other coordinate words and coordinate systems requiring the designation of rotational speed, and in this example these are necessary for the synthesis of circular motion between B, C, D, C' on the one hand, and XY, XZ (XW), (XR), YZ (YW), (YR), X'Y', (X'W"), and the like on the other. By way of explanation, "synthetic circular motion" indicates the independent control of two axes, for example, the X-axis and the Y-axis, so that the composite movement along these two axes describes circular motion. The axis combinations in parenthesis above indicate composite circular motion among axes which are not in the same coordinate system. It was not possible to easily specify the rotary speed of such composite circular motion in the prior art.
As for feed (speed) function control words, at least the following four feed control words are required in the particular system of FIG. 20: F for the first main spindle 100 and the first sub-main spindle; E for the second main spindle 102; E' for the third main spindle 103; and F' for the work table 1. Furthermore, three feed function words are necessary for distinguishing between a rotational feed value and a straight feed value. If feed function words could be allotted to the individual moving parts so as to correspond to the respective coordinate words of a program, there would be an advantage in simplifying the program. However, this arrangement is impossible under the present system.
As for the preparatory function (G), if simultaneous control, independent control or the like are to be required of the three main spindles and one table of this example, one function word is insufficient and at least three function words are necessary.
As for the miscellaneous functions M, if simultaneous control, independent control or the like are to be required of the three main spindles and one table of this example, one function word is insufficient and at least three function words are necessary.
The same is true for the sequence number function word N. It would be helpful in the case of the sequence number in particular to be able to distinguish on the basis of the function word the particular device on which the sequence instruction will be performed.
This is generally true of the tool function as well. That is, with the tool function, it is insufficient to classify the function using one function word when coping with three main spindles and one sub-main spindle as in the present example; at least three function words are necessary.
As a method of coping with situations such as those described above, a system has conventionally been adopted in which, as shown in FIG. 20(c), operations are effected by preparing separate processing programs, just as if there were three different machine tools, using three numerical controllers 115-1, 115-2, 115-3 and a supervisory programmable logic controller (hereinafter "PLC") 110.
In FIG. 20(c), the PLC 110 is arranged in such a manner as to control the three numerical controllers 115-1, 115-2, 115-3 using a PLC program, and outputs instructions which designate and start the processing of programs in the numerical controllers, the numerical controllers outputting a PLC completion signal when the operation of a corresponding program is completed.
Necessary programs are individually written for and input to the numerical controllers 115-1, 115-2, 115-3 by input devices 116-1, 116-2, 116-3 such as paper tape readers.
The numerical controllers 115-1, 115-2, 115-3 supply control outputs to a group of servo motor/detector systems 120, 130, 140 via cables 117-1, 117-2, 117-3, while, conversely, feedback signals are input via the cables 117-1, 117-2, 117-3.
The arrangement is thus such that control outputs are supplied to main spindle motor/detector systems 121, 131, 141 by the numerical controllers 115-1, 115-2, 115-3 via cables 117-1, 117-2, 117-3, while feedback signals are supplied reversely through the cables to the numerical controllers 115-1, 115-2, 115-3.
An example of the operation of the prior art system will now be described, with respect to the processing of a complex workpiece shown in FIGS. 4(a) and 4(b), including the cutting of faces A, B, C, D, E, F, and G, and the processing of a group of threaded holes H, I, J, K, and L and a group of bolt holes M and N. Processing procedures are first determined by calculating coordinates on the basis of the machine-related stroke table and diagrams shown in FIGS. 5(a) to 5(d) and detailed dimensional drawings of the workpiece as shown in FIGS. 4(c) to 4(f). Then, machining programs are written to accomplish the various necessary tasks. An example of such programming is seen in FIG. 22, where the instruction sequences are shown at left and the comments on the right explain the procedures being undertaken.
As shown in FIG. 22, the processing programs are broken down into the following 11 portions, which may be further classified according to the machine (i.e., the column or group) which will be controlled by the program. For the first column 1, there are programs No. 0001 (leg end machining for face A, frame end machining for face C), No. 0002 (flange machining for face G), No. 0003 (boring of threaded hole J) and No. 0004 (boring of threaded hole H). For the second column 2, there are programs No. 0201 (leg end machining for face B, frame end machining for face D) and No. 0202 (boring of threaded hole I); for the third group, there are programs No. 0301 (-90.degree. swiveling of the table), No. 0302 (flange machining for faces E, F), No. 0303 (boring of threaded holes K, L), No. 0304 (boring of bolt holes L, M) and No. 0305 (+90.degree. swiveling of the table).
In order to effect processing in such a manner that compatible processes can proceed simultaneously with no interference caused between column groups, the three numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c) are controlled by the PLC 110 in FIG. 20(c) in accordance with a table of processing procedures shown in FIG. 23. That is, a program is prepared for the PLC which includes a first step N1 instructing the simultaneous starting of programs 0001 and 0201, a second step N2 instructing the independent starting of program 0301, a third step N3 instructing the simultaneous starting of 0002 and 0302, a fourth step N4 for the simultaneous starting of 0003 and 0303, a fifth step N5 for the independent starting of program 0304, a sixth step N6 instructing the independent starting of program 0305, and a seventh step N7 for the simultaneous starting of programs 0004 and 0202. The numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c) are thus conventionally operated, basically independently, but with PLC coordination in accordance with the flowchart shown in FIG. 24 so as to effect the processing of the workpiece.
The processing will be generally described with reference to this flowchart.
Processing is started in Step 0. In Step 1, the 11 processing programs necessary for the respective groups are input using input devices 116-1, 116-2, 116-3 in FIG. 20(c). The programs are manually allotted to the respective numerical controllers 115-1, 115-2, 115-3 by the operator and are stored in memory sections (not illustrated) inside the respective numerical controllers. Then, in Step 2, the PLC program is read by the PLC 110. Once this processing is completed, the machine tool can be operated at any time. After the workpiece and the tools and the like are mounted in place, a PLC cycle start button is pressed in Step 3. In Step 4, the PLC sequence is set to N=1, and the operation of the PLC program is commenced in Step 5 by reading PLC sequence No. N. In this example, (FIG. 23) N will range from 1 to 8.
In Step 6, the contents of the program are checked, and a determination is made as to whether or not the end of the program, i.e., the end of machining operations, has been reached. If a determination is made that the end has not been reached, the operation proceeds to Step 7 in which instructions are given to the numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c) of each group to start the execution of the designated processing program(s) at sequence number N of the PLC program.
As a result, the numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c) effect arithmetic processing, supply control signals and power corresponding to movement instruction values to the servo motor/detector groups 120, 130, 140 in FIG. 20(c), and commence the operation of the complex machining center (FIGS. 20(a) and 20(b)), and conversely receive feedback signals. As the operation proceeds, the workpiece begins to be processed. A determination is made in Step 8 as to whether or not all of the current operations of the respective groups are completed, and if not, the operation returns to Step 8 via route 81 to repeat the discrimination. When the current processing is complete, the operation proceeds to Step 9 in which the PLC program sequence is incremented by one (N=N+1), and the operation returns to Step 5 via route 91. Steps 5 to 9 are thus repeatedly sequentially executed to carry out processing of the workpiece as indicated generally in FIG. 23 and specifically in FIG. 22.
If it is determined in Step 6 that the operation has come to an end, end processing is carried out in Step 10 via route 61.
Because the various processing programs were designed in the prior art for use with respective numerical controllers and machines, as in this example, it was difficult to synchronously control any plurality of the four main systems, i.e., the first, second, and third main spindles 121, 131, 141 in FIG. 20(c) and the table, by means of the numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c). Moreover, there existed a large risk of collision, control was very complicated, and complex machining was very difficult unless the systems were controlled sequentially (which is slow) or unless the processing programs and PLC control programs were carefully prepared using a time chart or the like when any of the spindle systems were to be used simultaneously.
In addition, when the processing programs were to be read by the numerical controllers 115-1, 115-2, 115-3 in FIG. 20(c), inputting was effected separately using the three input devices 116-1, 116-2, 116-3. When there were erroneous inputs of the processing programs, for example, the operator loading the wrong program in one of the controllers, there was no method to discriminate such errors since the dimension format for each controller was identical. Although discriminating characters (i.e., labels) can be punched directly on the program paper tape so as to be discerned to some extent by the operator to partially eliminate this risk, there are limitations on the reliability of such discrimination by the operator.
As other prior art examples, in the control of a work transfer-type multi-stage machine tool as shown in FIG. 20(d), such as a transfer machine, systems have been used having one of the control forms shown in FIGS. 21(a) to 21(e), (described below), so that line processing can be effected. In line processing, all the workpiece processing is completed while the workpiece is located between the entrance of the machining center (FIG. 20(d)) and the exit thereof.
Specifically, such systems have a system configuration allowing the processing programs to be read and stored via various input devices using various storage media in the numerical controllers (represented by numerals 3 in FIG. 21). In FIG. 21(a), the processing of the workpiece is effected while the respective processing units (represented by numerals 2 in FIG. 21) are being controlled on the basis of paper tape programs (not shown) separately read by input devices such as tape readers 4 for the respective units 2 and data input to the numerical controllers 3. In FIG. 21(b), paper tape programs (not shown) are read by input devices such as tape readers 4 for the respective processing units before the start of processing and the data is stored in storage sections 5 of the numerical controllers 3. Processing of the workpiece is then carried out by controlling the numerical controllers 3. In FIG. 21(c), processing programs written on floppy disks 8 are read by floppy disk units 7 for the respective processing units 2, and after the data has been stored in the storage sections 5 of the numerical controllers 3 via connecting terminals 6, control is effected by the numerical controllers so as to carry out the processing of the workpiece. In FIG. 21(d), programs written on cassette tapes 10 are read by cassette tape decks 9 for the respective processing units 2, and after the data has been stored in the storage sections 5 of the numerical controllers 3 via connecting terminals 6, control is effected by the numerical controllers so as to carry out workpiece processing. In the system configurations described above, after the programs are read for the respective units 2 by control commands from the PLC (not shown), and independent machining operations are performed using the respective units 2, the units 2 which have completed their operations early simply remain on standby until the operations of all of the units are completed. After completion confirmation is made by the PLC, the workpieces are conveyed to the next stop point in the line and the various machines are restarted to repeat their operations so as to allow the processing of workpieces to be carried out on a line operation basis.
In the system of FIG. 21(e), programs are transferred to the numerical controllers 3 from a storage section (not shown) of a minicomputer/personal computer 12 in FIG. 21 through the connecting terminals 6 of the respective units 2, all of which are connected via data transmitting cables 11. In this case as well, the processing of the workpiece is carried out through control by the PLC (not shown), in the same way as in the above-described system.
Processing in these systems requires independent processing programs for the respective units, as noted above, and it has thus has been necessary to prepare independent programs for each part of the overall machining process as is performed by each unit.
With such systems, since the functions of each unit in the line is fixed, in cases where a fault or the like has occurred in any one of the units, processing of the workpieces cannot be completed. A situation can sometimes occur in which the overall line of the system must be stopped, thereby hampering production.
The cause of this situation can be explained as follows: Since conventional numerical controller formats are used for each of the units constituting the line, the sequence number scheme, the coordinate words, miscellaneous words, spindle-speed function words, feed function words, etc. of the programs of any given unit are identical to those of all of the other units. Hence, if there are, for example, 16 units in a line, since all the control words are identical among the units, it is possible for 16 identical words to be utilized for 16 different functions. Also, the conventional numerical controllers generally cannot discriminate between different programs except on the basis of a program number or a unit number punched in the paper tape or the like. Due to these reasons, unless the processing program is altered, it has been difficult or impossible to allow another unit, even one having an identical function, to perform processing instead of the faulty unit, or to distribute the functions of the faulty unit to a plurality of units having the identical function.
With the conventional numerical controller arranged and used as described above, in the control of a complex machine tool, the dimension words and the like that are used to control the various machining processes have become insufficient, and the ability to create complicated programs or execute synchronous or simultaneous control has been lacking In addition, in a multi-stage machine tool such as a line transfer machine, since there are not enough dimension words and the like to uniquely identify the parameters for each machine, a plurality of identical function words have been used, often differently in each machine. Accordingly, when a unit within the line fails, processing by another unit cannot be effected as a provisional measure, and a situation arises where the entire line has to be stopped.